package com.mes.cloud.api.dto.request.employee;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.NotEmpty;

import javax.persistence.*;
import javax.validation.constraints.NotNull;

/**
 * 系统用户表
 * 
 * @author Mr.zhang
 * @email 407892370@qq.com
 * @version 2019-07-31 10:42:39
 */
@Data
public class BaseEmployeeRequest implements Serializable{
    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "主键", required = false)
    private String id;

    @ApiModelProperty(value = "员工工号", required = false)
    private String employeeNo;

    @ApiModelProperty(value = "员工姓名", required = true)
    @NotNull(message = "员工姓名不能为空！")
    private String realName;

    @ApiModelProperty(value = "员工别名", required = true)
    private String anotherName;

    @ApiModelProperty(value = "员工类型（0:非正式员工，1：正式员工）", required = false)
    private String type;

    @ApiModelProperty(value = "邮箱", required = false)
    private String email;

    @ApiModelProperty(value = "手机", required = false)
    private String mobile;

    @ApiModelProperty(value = "数据来源(不确定)", required = false)
    private String dataSources;

    @ApiModelProperty(value = "备注", required = false)
    private String remark;

    @ApiModelProperty(value = "学历(1:初中，2：高中，3：中专，4：大专，5：本科，6：研究生，7：博士)", required = false)
    private Integer education;

    @ApiModelProperty(value = "BaseId", required = false)
    private String baseId;

    @ApiModelProperty(value = "Base地区", required = false)
    private String baseStation;

    @ApiModelProperty(value = "主要角色ID", required = false)
    private String mainRoleId;

    @ApiModelProperty(value = "主要角色名", required = false)
    private String mainRoleName;

    @ApiModelProperty(value = "主要岗位ID", required = false)
    private String mainPositionId;

    @ApiModelProperty(value = "主要岗位名", required = false)
    private String mainPositionNaem;

    @ApiModelProperty(value = "主要组织ID", required = false)
    private String mainOrganizationId;

    @ApiModelProperty(value = "主要组织名", required = false)
    private String mainOrganizationName;

    @ApiModelProperty(value = "状态(0：禁用，1：启用)", required = false)
    private String enableFlag;

    @ApiModelProperty(value = "创建人", required = false)
    private String createBy;

    @ApiModelProperty(value = "创建时间", required = false)
    private Date createTime;

    @ApiModelProperty(value = "修改人", required = false)
    private String updateBy;

    @ApiModelProperty(value = "修改时间", required = false)
    private Date updateTime;

    @ApiModelProperty(value = "删除标记，1：删除，0：未删除", required = false)
    private String delFlag;

    @ApiModelProperty(value = "更新日期", required = false)
    private String updateDateStr;

    @ApiModelProperty(value = "员工状态（0：离职，1：在职）", required = true)
    @NotEmpty(message = "员工状态不能为空！")
    private String status;

    @ApiModelProperty(value = "授权类型（0：个人授权，1：组织授权）", required = false)
    private Integer authorisationType;

    @ApiModelProperty(value = "创建人工号", required = false)
    private String createByNo;

    @ApiModelProperty(value = "修改人工号", required = false)
    private String updateByNo;

    @ApiModelProperty(value = "是否允许登录1-可以 0 -不可以", required = false)
    private String allowLogin;
}
